/*
 * Copyright 2024 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

import {ColorSwatch, SpectrumColorSwatchProps} from '../src/ColorSwatch';
import {Meta, StoryFn} from '@storybook/react';
import React from 'react';

export default {
  title: 'ColorSwatch',
  component: ColorSwatch,
  argTypes: {
    color: {
      control: 'color'
    },
    rounding: {
      control: 'radio',
      options: ['default', 'none', 'full']
    },
    size: {
      control: 'radio',
      options: ['XS', 'S', 'M', 'L']
    }
  }
} as Meta<SpectrumColorSwatchProps>;

export type ColorSwatchStory = StoryFn<typeof ColorSwatch>;

export const Default: ColorSwatchStory = (args) => (
  <ColorSwatch {...args} />
);

Default.args = {
  color: 'rgb(255, 0, 0)'
};

export const NoValue: ColorSwatchStory = (args) => <ColorSwatch {...args} />;

export const CustomWidth: ColorSwatchStory = (args) => <ColorSwatch {...args} width="size-1000" />;
CustomWidth.args = Default.args;
